package com.broada.apm.logic;

import java.util.List;

import com.broada.apm.entity.MenuColumn;
import com.broada.apm.entity.ProtocolMenu;
import com.broada.apm.entity.TradeErrorDetail;
import com.broada.apm.model.L7moduleMenu;
import com.broada.apm.model.PerformanceView;

public interface IndicatorLogic {

	public List<ProtocolMenu> queryProtocolMenus(int l7Protocol);

	public List<MenuColumn> queryMenuColumns(int menuId);

	public L7moduleMenu queryL7moduleMenu(int menuId);

	public List<PerformanceView> queryTradeErrorCode(String appId, String nodeId, String keyWord, int top, long startDate, long endDate);
	
	public List<PerformanceView> queryTradeErrorStacks(String appId, String nodeId, String uri,String errorCode, long startDate, long endDate);

	public List<PerformanceView> queryMenuData(String appId, String nodeId, int menuId,String dataKey, String dataId, String keyWord,
			int pageIndex, int pageSize, long startDate, long endDate, String orderBy, boolean desc) throws Exception;
	
	public void updateResShowIndicator(String targetId, String panelId, List<Integer> metricIds) throws Exception;

	public TradeErrorDetail getErrorDetail(String errorId, long startDate, long endDate) throws Exception;
}
